#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QSplitter>
#include <QTextEdit>
#include <QLineEdit>
#include <QProgressBar>
#include <QPushButton>
#include <QTimer>
#include <QLabel>
#include <QMainWindow>
#include "./Lib/hidapi/include/hidapi.h"

class MainWindow : public QMainWindow {
  Q_OBJECT

public:
  MainWindow(QWidget* parent = nullptr);
  ~MainWindow();

private:
  void initLayout();         // 初始化布局
  void initListener();       // 初始化监听

private slots:
  void updateRecieve();      // 接受数据

private:
  /** 界面控件 */
  QSplitter* spmContainner;         // 主容器 spm_containner
  QSplitter* spmContainnerLeft;     // 主容器的左边
  QSplitter* spmContainnerCenter;   // 主容器的中间
  QLineEdit* tlVid;                 // VID 输入框
  QLineEdit* tlPid;                 // PID 输入框
  QPushButton* btOpen;              // 打开连接
  QLabel* lbStatus;                 // 设备状态
  QTextEdit* teView;                // 接收数据预览
  QTextEdit* teSend;                // 发送文本框
  QPushButton* btnSend;             // 发送按钮

  /** 其它变量 */
  hid_device* handle;
  QTimer* timer;
};
#endif // MAINWINDOW_H
